A graph is a set of vertices connected by edges. A directed graph is a graph that includes edges that have an associated direction. A direction of an edge can be indicated by an arrow, for example. An arrow can connect two related vertices. A direction of an edge can represent relationship roles of the related vertices. A directed acyclic graph is a finite directed graph with no directed cycles. A directed acyclic graph includes a finite number of vertices and edges, with each edge directed from one vertex to another, such that there is no way to start at any given vertex and follow a consistently-directed sequence of edges that eventually loops back to the given vertex.